import time

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

# 加载快些
service = Service('chromedriver.exe')

# 创建一个 Chrome 配置对象 - 控制是否显示浏览器
chrome_options = Options()
# 设置 Chrome 为无头模式
chrome_options.add_argument("--headless")
# 如果你不需要截图或 PDF，可以禁用图像加载来加速渲染
chrome_options.add_argument("--disable-gpu")
# 如果你在 Linux 上运行，并且遇到沙箱问题，可以添加这个参数
# chrome_options.add_argument("--no-sandbox")
# 禁用扩展
chrome_options.add_argument("--disable-extensions")
# 禁止加载图片（可选）
chrome_options.add_argument("--disable-images")
# 禁用 JavaScript（可选，但通常不推荐，因为很多现代网页需要 JS）
# chrome_options.add_argument("--disable-javascript")

browser = webdriver.Chrome(service=service, options=chrome_options)
url = 'https://www.baidu.com'
# 打开 百度 主页
browser.get(url)
time.sleep(2)

# 找到输入框
input_ = browser.find_element(by='xpath', value='//input[@id="kw"]')
print(input_)

# 在文本框中输入java
input_.send_keys('java')
time.sleep(3)

# 快照
browser.save_screenshot('081_java11.png')

# 找到百度一下按钮
button_ = browser.find_element(by='xpath', value='//input[@id="su"]')
print(button_)

# 点击按钮
button_.click()

# 滑到底部
js_bottom = 'document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)
time.sleep(2)

# 获取下一页的按钮
next_page_ = browser.find_element(by='xpath', value='//a[@class="n"]')
print(next_page_)
time.sleep(2)

# 点击下一页
next_page_.click()
time.sleep(2)

# 返回到上一页
browser.back()
time.sleep(2)

# 回去
browser.forward()
time.sleep(2)

# 退出
browser.quit()
